package cz.semjobKB.search.api;

import cz.semjobKB.conllx.api.ISentence;
import cz.semjobKB.conllx.api.IWord;

import java.util.List;

/**
 * Interface declares methods for matches over one sentence
 */
public interface ISearchMatches {

    /**
     * Gets the list of predicate matches
     * @return  List of predicate matches
     */
	public List<IMatch> getPredicateMatch();

    /**
     * Gest the list of subject matches
     * @return  List of subject matches
     */
	public List<IMatch> getSubjectMatch();

    /**
     * Gets the list of object matches
     * @return  List of object matches
     */
	public List<IMatch> getObjectMatch();

    /**
     * Gets the list of terminology matches
     * @return  List of terminology matches
     */
	public List<List<IWord>> getTermMatch();

    /**
     * Gets the sentence in which the matches were found
     * @return  Sentence containing the matches
     */
	public ISentence getSentence();

    /**
     * Gets the sentence position in the document counted from the beginning
     * @return  Sentence position
     */
	public int getSentPos();
	
}
